package com.tianzhu.service;

import java.util.List;

import lombok.extern.slf4j.Slf4j;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.tianzhu.domain.Cart;
import com.tianzhu.domain.Cartitem;
import com.tianzhu.repositories.CartitemRepo;

@Service
@Slf4j
public class CartItemService {
	
	@Autowired
	CartitemRepo cartitemRepo;
	
	@Transactional
	public void addCartItem(Cartitem cartItem){
		cartitemRepo.save(cartItem);
	}
	

    public void removeCartItem(Cartitem cartItem){
    	cartitemRepo.delete(cartItem.getCartitemid());
    	
    }


    public void removeAllCartItems(Cart cart){
    	
    	List<Cartitem> cartItems = cart.getCartItems();

        for (Cartitem item : cartItems){
            removeCartItem(item);
        }
    	
    }

	@Transactional(readOnly=true)
   public Cartitem getCartItemByProductId(Long productId){
    	return cartitemRepo.getCartItemByProductId(productId);
    }

}
